// 断言类型
export default {}
// 类型断言有两种形式。 其一是“尖括号”语法：
// let some :any = "This is a girl."
// let strLength: number = (<string>some).length;

//  as 语法：
let some :any = "This is a girl."
let strLength: number = (some as string).length
// 两种形式是等价的。 至于使用哪个大多数情况下是凭个人喜好；然而，当你在TypeScript里使用JSX时，只有as语法断言是被允许的。

// 从一个数组里面，查找一个指定的值
let dataArray: number[] = [1,2,34,54,67,54,3,345,3452,617]
let n:number = 54;
// find() 方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。
const result  = dataArray.find(item=>item ===n)
console.log(result);

// 把找到的result 进行计算：注意断言的语法：只有当你确定，一定会找到一个相同的数字时，才使用断言。
let square : number = <number>result * <number>result;
console.log(square);

let sum  : number = result as number + result as number;
console.log(sum);

// 比如，你调用一个接口，接口一定会返回一个指定的值。这个时候，你就可以使用断言。

// 注意，类型断言不是类型转换，类型转换是代码在运行时的概念，而类型转换是
// 编译时的概念，当编译完时，它根本就不存在了。
// 辅助TS进行编译。